home *** CD-ROM | disk | FTP | other *** search
/ Belgian Amiga Club - ADF Collection / BS1 part 23.zip / BS1 part 23 / Superbase pro 3.01 upgrade.adf / READmeFIRST!.doc < prev    next >
Text File  |  1988-10-17  |  27KB  |  680 lines

  1.               READ ME : SUPERBASE PROFESSIONAL VERSION 3
  2.               ==========================================
  3.  
  4. This document contains information about a number of features in 
  5. Superbase Professional Version 3 which could not be fully described in 
  6. the User Guide.
  7.  
  8. If you have loaded the Readme file by clicking on its icon, the 
  9. controls for viewing the document are as follows: press the space bar 
  10. to scroll down the document a page at a time, press Return to scroll 
  11. down a line, press B to scroll up a page, press U to scroll up a line.  
  12. If you are in the Superbase Text Editor, use the cursor keys or the 
  13. scroll bars at the side of the window.
  14.  
  15. CUT AND PASTE
  16. -------------
  17. The Text and Program Editors now include full Cut and Paste 
  18. facilities. In the Text Editor these are both menu options and control 
  19. key options, whereas in the Program editor only the control key 
  20. options are available. Text may also be moved between fields and 
  21. either editor.
  22.  
  23. Mark Block ^L
  24. -------------
  25. You may mark the block to be operated on either by clicking with the 
  26. mouse or with a click-and-drag procedure. In the text editor, 
  27. selecting the Edit menu option for Mark Block is the same as 
  28. doubleclicking with the mouse, and marks the character under the 
  29. cursor as the current block. In the program editor, either the 
  30. doubleclick or ^L marks the block.
  31.  
  32. The click-and-drag procedure allows you to define a block by holding 
  33. down the mouse button and moving the mouse. The area of the block is 
  34. limited by the borders of the window. If you need to mark a block 
  35. larger than the window, use the doubleclick or Ctrl key methods. 
  36.  
  37. Once a character is marked as a block, repeating the Mark Block 
  38. operation using any of the three possible methods can have the 
  39. following results:
  40.  
  41. * In front of the first mark, it extends the start of the block.
  42. * After the first mark, it makes a new end to the block.
  43.  
  44. In the program editor, marking a block in a keyword marks the whole 
  45. keyword.
  46.  
  47. Marked blocks are automatically saved with a Superbase text file.
  48.  
  49. Clear Block ^Q
  50. --------------
  51. This option removes any marked block from the text.
  52.  
  53. Cut ^K
  54. ------
  55. Selecting Cut removes the marked block and reformats the text. The cut 
  56. text is stored on the Clipboard device, and is therefore available to 
  57. the Notepad tool or any other program that properly supports the
  58. clipboard device such as the Excellence! word processor. 
  59.  
  60. Copy ^R
  61. -------
  62. Copy stores the current marked block on the Clipboard.
  63.  
  64. Paste ^P
  65. --------
  66. Paste inserts the text from the Clipboard at the cursor position and 
  67. reformats the text.
  68.  
  69. Cut, Copy and Paste with Field Data
  70. -----------------------------------
  71. The Ctrl key options are all available for use with text fields in 
  72. database records and forms. However, it is only possible to mark 
  73. complete fields for Cut, Copy and Paste operations. Field data may be 
  74. transferred from field to field within a record, as well as to and 
  75. from the text and program editors. With Copy, you can store field 
  76. contents on the Clipboard and insert them into a new record during 
  77. data entry.
  78.  
  79. Clipboard
  80. ---------
  81. Note that the first time you Cut or Copy, the system may request the 
  82. Workbench disk so that it can load the Clipboard device software. 
  83. Under AmigaDos Version 1.3, you can assign the CLIPS: device.
  84.  
  85. The contents of the Clipboard are not written to disk until all 
  86. programs using the Clipboard device have terminated.
  87.  
  88.  
  89. DML COMMANDS AND FUNCTIONS
  90. --------------------------
  91. The following commands and functions are either new or have had their 
  92. syntax extended as described.
  93.  
  94. CALL
  95. The extended syntax for CALL is:
  96.  
  97.         CALL "command list" [WAIT] [CLOSE]
  98.  
  99. WAIT causes Superbase to require you to press Return in the Superbase 
  100. CLI window before returning. CLOSE closes the Superbase CLI after the 
  101. CALL is complete.
  102.  
  103. If you CLOSE the window, you will need to WAIT first, or there will 
  104. not be time to see the CLI output.
  105.  
  106. See also the information about AREXX, below.
  107.  
  108.  
  109. COMMS
  110. For the commands COMMS GET and COMMS INPUT, the syntax has been 
  111. slightly altered. The optional parameter TEXT now follows the keywords 
  112. GET or INPUT instead of preceding them; i.e. the new syntax is:
  113.  
  114.      COMMS GET [TEXT] stringvar
  115.      COMMS INPUT [TEXT] stringvar
  116.  
  117.  
  118. DIRECTORY
  119. The command DIRECTORY "" is the DML equivalent of the new menu option 
  120. System Directory Read. It simply re-reads the current directory, thus 
  121. allowing files created with Superbase or the Forms Editor to be listed 
  122. within Superbase.
  123.  
  124. EXISTS
  125. This is a new keyword, which allows a quick check to see whether a 
  126. file exists on disk, or whether an index value exists in an index. The 
  127. basic syntax is:
  128.  
  129.         EXISTS (strexpr[,indexfield])
  130.  
  131. In practice, the file check would often be done in a conditional 
  132. statement such as: IF EXISTS ("tempfile") THEN....  The index value 
  133. check works on any index of any file, without reading a record. This 
  134. would allow you to see whether a specific key exists in any index of 
  135. the current file while you are editing that file.
  136.  
  137. EXISTS ("jones",lastname.ADDRESS) would look up "jones" in the 
  138. Lastname index of the Address file, returning True (-1) if "jones" 
  139. appeared in it, False (0) if it did not. The function is case 
  140. insensitive, unlike LOOKUP. Partial matches return False. Note that if 
  141. you combine EXISTS in a validation or calculation with some other 
  142. function that does change the record pointer, the effect could be to 
  143. overwrite the current record in memory.
  144.  
  145. FILE
  146. This keyword may now also be used to return the name of the current 
  147. Superbase database file. It functions as an operand, as in these 
  148. examples:
  149.  
  150.         IF FILE = "Addresses" THEN....
  151.         a$ = FILE
  152.  
  153. INDEX
  154. This keyword may now also be used to return the name of the current 
  155. index for the current Superbase database file. It functions as an 
  156. operand, as in these examples:
  157.  
  158.         IF INDEX = "Lastname" THEN....
  159.         a$ = FILE
  160.  
  161. The syntax for INDEX has also been extended to accept a string 
  162. expression as an argument:
  163.  
  164.         INDEX index / [strexpr]
  165.  
  166. The expression must evaluate to a field name.
  167.  
  168. MENU
  169. The extended syntax for MENU allows the user to specify an Amiga key 
  170. equivalent for any menu option:
  171.  
  172.         MENU column,item,state[,strexp1][,strexpr2]
  173.  
  174. strexpr2 must be a single character string containing a keyboard 
  175. character.
  176.  
  177. MOUSE
  178. This new command allows programs to detect the position of the mouse 
  179. within the active window, and respond to mouse button input. The 
  180. syntax is:
  181.  
  182.         MOUSE nvar1,nvar2,nvar3
  183.  
  184. nvar1 returns the state of the mouse button. The possibilities are:
  185.  
  186.         0  no button has been pressed since the MOUSE command
  187.         3  button is held down now
  188.         1  button has been pressed and released
  189.         2  button has been pressed and released twice within the
  190.            doubleclick period understood by Superbase.
  191.  
  192. nvar2 returns the X coordinate position of the mouse pointer in 
  193. pixels, relative to the top left-hand corner of the window.
  194.  
  195. nvar3 returns the Y coordinate position of the mouse pointer in 
  196. pixels, relative to the top left-hand corner of the window.
  197.  
  198. Usage: The first call of the MOUSE command informs Superbase of the 
  199. variables used to track the mouse position. Subsequent use of the 
  200. command will return the current position and state in those specified 
  201. variables.  The state variable is continuously updated by Superbase, 
  202. however the position variables only reflect the mouse position when 
  203. the button last changed state (or the MOUSE command was executed).
  204.  
  205. Note: The MOUSE command cannot detect the operation of the right or 
  206. center buttons.
  207.  
  208. The first time you execute MOUSE, you use it as a dummy to set up the 
  209. variables and start Superbase tracking MOUSE clicks.
  210.  
  211. Whenever you read nvar1 it returns the last state of the MOUSE button.  
  212. Once read, nvar1 retains its value until another MOUSE event occurs, 
  213. so you may want to reset it to 0 with nvar1=0. Since MOUSE does not 
  214. actually reset nvar1, you must do this separately.
  215.  
  216. If nvar1 has the value 1 or 2, nvar2 and nvar3 return the cursor 
  217. position when the button was released, so to get the live current 
  218. MOUSE pos, you must execute MOUSE as follows:
  219.  
  220.   WHILE nvar1=3 : MOUSE nvar1,nvar2,nvar3 : [DML commands....] 
  221.   : WEND
  222.  
  223. PANEL
  224. This new command switches the VCR control panel on or off. Syntax:
  225.  
  226.         PANEL ON / OFF
  227.  
  228. POSITION
  229. This keyword may now be used as an operand to return the position of 
  230. the pointer in a sequential file that is being read by INPUT:
  231.  
  232.         IF POSITION > x% THEN....
  233.   or
  234.         IF a$ = "string you want to remember" then x% = POSITION
  235.  
  236. You can use this facility to "read" a text file and store the position
  237. coordinates of certain words or phrases for later direct access.
  238.         
  239.         OPEN "textfile" FOR INPUT
  240.         POSITION x%
  241.         INPUT A$:? a$
  242.  
  243. REQUEST
  244. It is now permissible to omit the numeric variable that returns the 
  245. outcome of OK or CANCEL selection from REQUEST commands. If the 
  246. variable is omitted, two commas should appear next to each other.
  247.  
  248.         REQUEST "This is a request","Please enter",4,,a$,25
  249.  
  250. SET REQUEST
  251. The SET REQUEST command allows users to define which of the Superbase 
  252. confirmation messages, such as "Record has been modified", are 
  253. switched off. The syntax is:
  254.  
  255.         SET REQUEST [ON/OFF]/nexpr
  256.  
  257. SET REQUEST OFF switches off the three messages that request 
  258. confirmation of saving of record, form, or file definition data 
  259. following modification. SET REQUEST ON switches the three messages 
  260. back on.
  261.  
  262. The nexpr alternative allows greater precision in switching messages 
  263. on and off. nexpr is either a specific number or an OR expression that 
  264. evaluates to a number. The basic values are:
  265.  
  266.      0    All messages on
  267.      1    Record or Form message off
  268.      2    File message off
  269.      4    Text message off
  270.      8    Program message off
  271.      16   End of file message off
  272.      32   Stop OK message off
  273.      255  All messages off
  274.  
  275. For example, SET REQUEST 8 OR 16 sets both Program and End of file
  276. messages off.
  277.  
  278. WAIT
  279. The WAIT syntax has been extended to handle waiting for input from
  280. combinations of events. 
  281.  
  282. WAIT MOUSE waits for a mouse click in the data window.
  283. WAIT MENU waits for a selection from a user defined menu.
  284. WAIT KEY waits for a key to be typed while the data window is active.
  285. WAIT PANEL activates the VCR panel and processes user selections until
  286. the stop button is selected. 
  287.  
  288. These new commands provide an alternative to the "busy" loop
  289.  which severely affected multi-tasking.
  290.  
  291. These options may be combined in any order, for example:
  292.  
  293.         WAIT MOUSE OR MENU OR KEY
  294.  
  295. This would put the Superbase task to sleep until any of the specified 
  296. occurred. The user program is then responsible for determining which 
  297. type of event or events has actually occurred. Note that the OR 
  298. keyword is optional.
  299.  
  300. WAIT COMMS
  301. This special syntax may not be mixed with that described above. 
  302. Superbase will poll the RS232 port once a second until the DCD line is 
  303. determined to be active, i.e. a connection has been established.  
  304. While not actually polling, the Superbase task goes to sleep. This allows
  305. you to put SBPRO to "sleep" waiting an incoming call on the modem.
  306. Superbase WILL NOT activate until a carrier is established thus screening
  307. out voice calls.
  308.  
  309. EXECUTABLE CALCULATIONS ON FORMS 
  310. --------------------------------
  311. The functionality of this feature has been extended to allow more 
  312. powerful form-based applications to run in native mode without the 
  313. need for a DML program to drive functions such as data entry. The 
  314. executable calculation is, however, an advanced feature requiring an 
  315. understanding of the logic of DML commands and of programming 
  316. techniques in general.
  317.  
  318. The main extension is the addition of a direct interface to DML 
  319. programs. The commands RUN, CHAIN, LOAD, GOTO and GOSUB are now 
  320. performed immediately when encountered during form entry.  Normally 
  321. such a command is placed in a read only calculation at the appropriate 
  322. point in the field entry order, so that execution takes place when the 
  323. cursor "passes through".  A "trap" can be placed using the END command
  324. to stop data entry.  See End.
  325.  
  326. RUN, CHAIN and LOAD run the specified program, discarding any program 
  327. already in memory.
  328.  
  329. GOTO immediately exits to the specified label and starts executing the 
  330. current program from that point. GOSUB likewise exits to a specified 
  331. subroutine, where it should encounter a RETURN statement; control then 
  332. returns to the next executable statement in the originating executable 
  333. calculation, or the next field or calculation in entry order if the 
  334. GOSUB was at the end of the calculation.
  335.  
  336. END in an executable calculation exits from data entry.
  337.  
  338. All such commands will execute normally if encountered during form 
  339. data entry that has been started with the DML ENTER command. Note that 
  340. END does not end the execution of the program.
  341.  
  342. Within the data entry process, ENTER may be used to switch entry from 
  343. one field to another. The normal DML syntax applies, so by naming (or 
  344. numbering) a field or a range of fields data entry can redirected in 
  345. response to users' actions. Note that the injudicious use of this 
  346. feature could produce an infinite logical loop within a form.
  347.  
  348. Note that the use of executable calculations for operations that are 
  349. not self-contained, such as loops that do not start and end within the 
  350. same calculation or called subroutine, may result in internal 
  351. inconsistencies.
  352.  
  353. LET calculations and multiple assignments
  354. -----------------------------------------
  355. With this type of form calculation only one LET statement may be used 
  356. in each calculation; so you must not define a form calculation 
  357. which looks like this:
  358.  
  359.      LET Amount.invoice = quantity * cost: LET Total.invoice = ...
  360.  
  361. However, multiple assignments without LET and separated by colons 
  362. will be treated as a single ordinary executable calculation.
  363.  
  364. Auto-execution
  365. --------------
  366. If a read only executable calculation is placed first in the entry 
  367. order of a form, it will be executed once only, the first time the 
  368. form is loaded. This would allow a program consisting of subroutines 
  369. to be loaded automatically for subsequent use during data entry or 
  370. editing. If when Superbase has started up with a form there is a 
  371. program in memory as a result of such a calculation being auto- 
  372. executed, Superbase will not execute the start.sbp program.  
  373.  
  374.  
  375. AREXX
  376. -----
  377. ARexx is a macro language that allows commands and data to be passed 
  378. between applications. Through ARexx, an ARexx program or another 
  379. application that supports ARexx can tell Superbase to perform all its 
  380. normal functions. Likewise, Superbase can pass command messages to 
  381. other applications that are able to receive ARexx messages, such as 
  382. the Superplan spreadsheet, or actually run ARexx programs.
  383.  
  384. The ARexx interface is achieved by two extensions to the syntax of the 
  385. CALL command:
  386.  
  387.         1) CALL "port" EXECUTE strexpr
  388.         2) CALL "port" RETURN strexpr [TO] field / strvar
  389.  
  390. strexpr must be a string expression consisting of commands 
  391. intelligible to the receiving application, maximum length 255 
  392. characters. Normally this is equivalent to a stream of characters 
  393. typed at the keyboard. Superplan is designed to respond to ARexx 
  394. requests, and therefore can serve as a powerful programmable 
  395. spreadsheet extension to Superbase itself.
  396.  
  397. 1) This variant is intended to allow other processes to execute 
  398. command strings passed from within Superbase. "port" must be a named 
  399. ARexx port belonging to another application. The Superbase ARexx port 
  400. is called SBPRO. The Superplan ARexx port is called SpRexx. The 
  401. default ARexx port is REXX. Note that ARexx is case sensitive.
  402.  
  403. 2) This variant allows the other application to RETURN results to 
  404. Superbase in the specified field or string variable. For example,
  405.  
  406.         CALL "SpRexx" RETURN "c23" TO a$
  407.  
  408. would store the contents of Superplan's cell c23 in a$.
  409.  
  410.         CALL "REXX" RETURN "test" TO a$
  411.  
  412. would attempt to run the ARexx program "test.rexx" and return its exit 
  413. code in a$.
  414.  
  415.  
  416. Error handling
  417. --------------
  418. If ARexx is unable to complete the requested operation, its error 
  419. value will be passed back to Superbase and stored in the ERRNO 
  420. operand. The DML program is responsible for checking ERRNO before and 
  421. after the ARexx CALL to see whether the action was successful.
  422.  
  423. If ARexx makes a request to the Superbase ARexx port SBPRO when 
  424. Superbase is busy processing, the value -1 will be returned to the 
  425. ARexx program or calling application. However, an ARexx program called 
  426. from within Superbase can send results back to Superbase by, for 
  427. example, setting Superbase variables. Superbase will not return from 
  428. the call command until the ARexx process has terminated. To determine 
  429. the exit code of an ARexx program, use the second syntax variant, 
  430. which returns the exit code to your named variable when it terminates. 
  431.  
  432.  
  433. COMMUNICATIONS
  434. --------------
  435. Communications on the Amiga are implemented slightly differently from 
  436. the description in the User Guide Supplement.
  437.  
  438. Superbase allows both menu-driven and programmed communications. The 
  439. Process Comms menu option allows a number of communications options 
  440. for file transfer. Before a file can be transferred, both users should 
  441. set up all the parameters in this dialog in the same way. For each of 
  442. the following parameters, you must select an option by clicking on its 
  443. corresponding button.
  444.  
  445. Baud rate
  446. ---------
  447. Baud rates supported are 300, 1200, 2400 and 9600.
  448.  
  449. Protocol
  450. --------
  451. Three transfer protocols are supported; XMODEM, XMODEM-CRC and 
  452. WXMODEM. If you select WXMODEM and/or XMODEM-CRC for transfer, 
  453. Superbase will use it if possible, but is also capable of detecting 
  454. whether the receiver is also using WXMODEM, and of "changing gear" by 
  455. automatically selecting first XMODEM-CRC and then XMODEM if necessary.  
  456. This means that in practice the receiver determines the protocol to be 
  457. used.
  458.  
  459. Options
  460. -------
  461. CHOP removes the padding from the last block of a received file. It 
  462. removes zeros, nulls, and ^Z characters. XMODEM always sends files in 
  463. 128 byte blocks. If the last block is not complete, it is padded out.  
  464. Amiga executable files that have been padded out in this way will not 
  465. run until the padding is removed. CHOP only applies to received files.
  466.  
  467. LF->CR Works on transmitted files only, converting Amiga Linefeed 
  468. characters (ASCII 10) to Carriage Returns (ASCII 13), enabling text 
  469. files created on an Amiga to be read by editors on PCs and other
  470. machines.
  471.  
  472. AUTO is the same as File Header On/Off for the PC. The header block 
  473. will always be transmitted using XMODEM, regardless of the protocol 
  474. selected for the actual file transfer.
  475.  
  476. Transmit/Receive
  477. ----------------
  478. As described in the Supplement.
  479.  
  480. Auto-dial Number
  481. ----------------
  482. If your modem has an auto-dial facility, you may enter the receiver's 
  483. number in this box.
  484.  
  485. Comms Initialization Sequence
  486. -----------------------------
  487. You may insert a sequence of up to 28 characters, which will be sent 
  488. to the modem when you click on OK, before file transfer begins. The 
  489. sequence is stored in the superbase.par file.
  490.  
  491. Wild Card
  492. ---------
  493. You may use the '*' character to represent either a file extension or 
  494. a filename. The #? syntax of AmigaDos is not supported.
  495.  
  496. Cable Connections
  497. -----------------
  498. If you are using a modem, then you should use the cable supplied with 
  499. it.  Superbase uses the DCD line from the modem (pin 8) to determine 
  500. whether a connection has been established, so make sure this pin is 
  501. connected. Also, if your modem has options which change the usage of 
  502. the DCD line, make sure that you select the option that causes DCD to 
  503. reflect the current connection status.
  504.  
  505. If you are connecting two computers by a direct RS232 line, they 
  506. should be wired up as follows:
  507.  
  508.         XMIT    2 -------\/------- 2
  509.         RCV     3 -------/\------- 3
  510.  
  511.         RTS     4 -------\/------- 4
  512.         CTS     5 -------/\------- 5
  513.         DSR   --6                  6--
  514.         GND  |  7 -----------------7  |
  515.         DCD   --8 -------\/------- 8--
  516.         DTR    20 -------/\------- 20
  517.  
  518.  
  519. Communications under DML
  520. ------------------------
  521. The DML syntax to open the communications channel has changed slightly 
  522. from that described in the Supplement. There are now 13 parameters.
  523.  
  524. OPEN COMMS [USING parameters]
  525.  
  526. The parameters list is as follows:
  527.  
  528. param1:   Port number (0 or 1); this is ignored by the Amiga.
  529. param2:   Baud rate (300/1200/2400/9600)
  530. param3:   Parity  (0/1/2)
  531. param4:   Stop bit (either 1 or 2)
  532. param5:   Word length (5/6/7/8)
  533. param6:   Transmit/Receive (1 for Transmit, 0 for Receive)
  534. param7:   File Header  (0 for Off, 1 for On)
  535. param8:   WXMODEM (0 for Off, 1 for Use)
  536. param9:   CRC-XM  (0 for Off, 1 for Use)
  537. param10:  CHOP    (0 for Off, 1 for Use)
  538. param11:  LF/CR   (0 for Conversion, 1 for No conversion)
  539. param12:  Autodial number (text string); Note that Superbase provides
  540.           the 'ATD' sequence automatically.
  541. param13:  Initialization sequence (up to 28 characters, within quotes)
  542.  
  543. It is important to note that IF these parameters have been set in the 
  544. comms menu a OPEN COMMS command is all that is needed to open the comms
  545. function.
  546.  
  547. Communications with PCs
  548. -----------------------
  549. Transfer to and from Superbase 4 on the PC can currently only be 
  550. accomplished using XMODEM.
  551.  
  552.  
  553. MISCELLANEOUS
  554. -------------
  555. * Function Keys. It is now possible to force a function key to execute  
  556. its commands even if it is pressed when there is a cursor active in  
  557. a field or one of the editors. Simply place the '!' character at the  
  558. beginning of the function key string.
  559.  
  560. * Data Entry. Required (REQ) fields are now checked when you exit from  
  561. them as well as when you save the record. Unique indexed (IXU)  
  562. fields are likewise checked as soon as data is entered into them as  
  563. well as when the data is saved.
  564.  
  565. * Mail Merge. Superbase now recognizes a double ampersand (&&) in a 
  566. text document as an intended single ampersand, so that text such as 
  567. "Laurel & Hardy" does not confuse the merging process.
  568.  
  569. * The SER function is now handled differently by REORGANIZE. Numbers  
  570. generated by SER in the new file continue from the highest number in  
  571. the old file.
  572.  
  573. * A Directory Read option has been added to the System menu. This  
  574. forces Superbase to re-read the current directory and update its  
  575. internal list of the contents.
  576.  
  577. * A full-size gadget has been added to the title bar for the Text and  
  578. Program editors. This provides a quick way of expanding and  
  579. contracting the window.
  580.  
  581. * The DML commands CLEAR, SET, EXECUTE and CALL "port" EXECUTE must be  
  582. at the end of their respective program lines.
  583.  
  584. * If you try to print a line longer than the line length set in  
  585. Superbase's Printer options, Superbase will output a Carriage Return  
  586. followed by a Line Feed when it reaches the maximum line length.
  587.  
  588. * Note that you can set a printer initialization sequence from within  
  589. Superbase's Set Options dialog. This allows you to set the features  
  590. and modes you prefer. The sequence of control codes is sent to the  
  591. printer each time you perform a printing operation from within  
  592. Superbase. If a sequence is present Superbase does not send the  
  593. `Skip over perforation OFF' and `Set page length' codes that are  
  594. normally sent when the printer is accessed.
  595.  
  596. * The output format parameters BF, UL, IT enable you to set different  
  597. print styles within a report or in the output from a query. If you  
  598. wish to set other printing features, you can do so by using the CHR$  
  599. function to insert the appropriate printer control codes. In a  
  600. query, you enter these codes in the query fields line. For example,  
  601. on some Epson printers, the sequence 27, 14 selects enlarged print,  
  602. and the control code 20 turns it off. To output the data for one  
  603. field in enlarged print, your query Fields line might look like  
  604. this:
  605.  
  606.   Firstname, Lastname, CHR$(27);CHR$(14);City;CHR$(20), Street
  607.  
  608. Note that some control codes may be inappropriately interpreted by 
  609. the printer device, in which case you should set Print Raw on the 
  610. Options requester to bypass the interpretation. Alternatively, you 
  611. can use the generic printer device codes published in the Amiga 
  612. documentation.
  613.  
  614. * File Names. Avoid using the characters : ? # / ; or the space 
  615. character. When using a file name as an argument to a command such as 
  616. OPEN FILE, it must always be inside quotation marks. However, a file 
  617. name used to extend a field name, e.g. Name.Customers, need not be 
  618. inside quotes, unless it includes non-alphanumeric characters, i.e. 
  619. other than a-Z and 0-9. Superbase supplies quotes when necessary 
  620. during dialog selections, but if you type a command line in directly 
  621. be sure to observe this rule.
  622.  
  623. * The normal New Line sequence on the Amiga is a CHR$(10) (line feed). 
  624. On most other machines and in Superbase, the default New Line sequence 
  625. is CHR$(13) CHR$(10) (carriage return, line feed). The CHR$(13) may be 
  626. suppressed, for example to achieve compatibility with the ED editor, 
  627. by setting RETURN=OFF (note uppercase) in the Tool Types list of the
  628. Superbase icon, which may be modified using the Workbench Info option.
  629.  
  630. * It is now possible to run Superbase by doubleclicking on a program 
  631. or form icon. You must create the icon and .info file for a '.sbp' or 
  632. '.sbv' file yourself. Demonstration icons are on the data disk. The 
  633. .info filename must include `.sbp' as part of the file name; for 
  634. example, `myprog.sbp.info'. Consult your Amiga system documentation 
  635. for further information on how to do this.
  636.  
  637. * Tool Types. These are the means of customizing the way in which 
  638. Superbase starts up (See User Guide Appendix K). The new option 
  639. SCREEN=LACE forces Superbase into Interlace mode on a custom screen. 
  640. Tool Types may also be assigned to Superbase form or program icons 
  641. (see previous item). The CLI equivalent for LACE is sbpro -l (alphabet 
  642. letter, not number).
  643.  
  644. * Superbase now makes full use of Workbench screens that have been set 
  645. to overscan, supporting utilities such as MOREROWS and SCREENSIZER.
  646.  
  647. * The window title bar indicates the current pathname as well as file.
  648.  
  649. * Superbase.par file. All communications parameters are stored.
  650.  
  651. * Labels dialog. There are two new parameters, Top Label Margin and 
  652. Label Rows Before FF. These are intended to facilitate label printing 
  653. on laser printers. Top Label Margin allows you to specify a vertical 
  654. offset as a number of rows. Label Rows Before FF allows you to tell 
  655. the printer to perform a form feed after a fixed number of label rows 
  656. have been printed. If this parameter is set to zero it is ignored.
  657.  
  658. * Printer handling. To suppress form feeds issued by some printer 
  659. drivers, especially laser printer drivers, the way in which Superbase 
  660. handles the printer has been slightly changed. The first time the 
  661. printer is used, it is opened; it now remains open until one of the 
  662. following events occurs:
  663.  
  664.      Quit from Superbase
  665.      Termination of a Superbase program
  666.      Selection of the Set Screen menu option
  667.      Any error
  668.      Stop button is clicked or ^C is pressed
  669.  
  670. Other processes which need the printer may find that it is still in 
  671. use by Superbase. If this happens, all that needs to be done is to 
  672. click on the Superbase Stop button.
  673.  
  674. * Errata - When you desire to have Superbase wait untill a specific time
  675.            you must use quotation marks around the time.
  676.  
  677.            The correct syntax is: WAIT for "10:30:00" 
  678.            not WAIT for 10:30:00
  679.  
  680.